This invention relates to a method and an apparatus for transferring data from a sending system to a receiving system. More particularly, the data that is transferred is compressed using a compression/decompression technique selected by the sending system without the sending system knowing if the selected technique is supported by the receiving system.
To increase the bandwidth of a computer network having multiple nodes acting as sending and receiving systems, compressed data is typically exchanged between the systems. Typically it is the responsibility of a sending system to compress the data before transmission, and the responsibility of the receiving system to decompress the data after reception. The sending and receiving systems have the burden of coordinating among themselves, over a negotiation phase, on which one of a number of compression/decompression techniques is available on both the systems to be used. This negotiation phase presents an overhead and may become an increasing burden as the number of compression/decompression techniques increases.
U.S. Pat. Nos. 5,557,749; 5,621,894; 5,956,490 and 6,175,856 disclose methods of data transfer that involve such a negotiation phase. Each of these patents teaches the transfer of data compressed according to a compression/decompression technique known by the sending system to be supported by the receiving system.
There are a number of disadvantages associated with a method of data transfer involving a negotiation phase. In the absence of a compression/decompression technique at the receiving system, a sending system cannot use the technique to compress data even if the technique proves to be most appropriate for the data type. To take advantage of more efficient compression/decompression techniques available on a sending system, a receiving system would have to be equipped with a relatively large amount of memory for storing these compression/decompression techniques.